package org.xp.judgeplatform.service;

import org.xp.judgeplatform.pojo.dto.ChatDTO.ChatSendMessageDTO;
import org.xp.judgeplatform.pojo.entity.ChatMessage;
import org.xp.judgeplatform.pojo.entity.ChatSession;

import java.util.List;

public interface ChatService {
    
    /**
     * 获取用户会话列表
     * @param userId 用户ID
     * @return 会话列表，按创建时间倒序
     */
    List<ChatSession> getUserSessions(Integer userId);

    /**
     * 获取会话消息列表
     * @param sessionId 会话ID
     * @return 消息列表，按时间正序
     */
    List<ChatMessage> getSessionMessages(String sessionId);

    /**
     * 发送消息
     * @param sendMessageDTO 发送消息请求
     * @return 会话ID
     */
    String sendMessage(ChatSendMessageDTO sendMessageDTO);

    // 保存AI回复
    void saveAIReply(String sessionId, String content);

    // 删除会话
    void deleteSession(String sessionId, Integer userId);

    // 更新会话标题
    void updateSessionTitle(String sessionId, String title);
}